from haystack import indexes

from apps.goods.models import SKU


class SKUIndex(indexes.SearchIndex, indexes.Indexable):
    """SKU索引数据模型类  必须有一个字段  document为主要搜索字段"""
    #text 是进行搜索主要字段 字段来源于哪
    #use_template = True 模板文件说明：当将关键词通过text参数名传递时
    #此模板指明SKU的id、name、caption作为text字段的索引值来进行关键字索引查询。
    text = indexes.CharField(document=True, use_template=True)

    #不指定获取那个字段，获取所有字段

    #指定模型
    def get_model(self):
        """返回建立索引的模型类"""
        return SKU

    #让模型查询数据，将查询的数据给haystack
    def index_queryset(self, using=None):
        """返回要建立索引的数据查询集"""
        # self.get_model() = SKU
        #SKU.objects.filter()
        return self.get_model().objects.filter(is_launched=True)